package com.bookmanger.server.service;

import com.bookmanger.common.result.Result;
import com.bookmanger.pojo.Entity.BookType;
import com.bookmanger.pojo.VO.BookTypeTreeVO;

import java.util.List;

public interface BookTypeService {
    
    /**
     * 查询所有图书分类
     * @return 图书分类列表
     */
    Result findAll();
    
    /**
     * 将图书分类保存到Redis中
     * @return 操作结果
     */
    Result syncBookTypesToRedis();
    
    /**
     * 从Redis中获取图书分类
     * @return 图书分类列表
     */
    Result getBookTypesFromRedis();
    
    /**
     * 新增图书分类并同步到Redis
     * @param bookType 图书分类信息
     * @return 操作结果
     */
    Result addBookType(BookType bookType);
    
    /**
     * 更新图书分类并同步到Redis
     * @param bookType 图书分类信息
     * @return 操作结果
     */
    Result updateBookType(BookType bookType);
    
    /**
     * 获取树形结构的图书分类
     * @return 树形结构分类
     */
    Result getBookTypeTree();
    
    /**
     * 删除图书分类并同步到Redis
     * @param id 分类ID
     * @return 操作结果
     */
    Result deleteBookType(Integer id);
}